using System;
using System.Runtime.Serialization;
namespace Net35.Xrm.Sdk
{
	[DataContract(Name = "OrganizationRequest", Namespace = "http://schemas.microsoft.com/xrm/2011/Contracts")]
	public class OrganizationRequest : IExtensibleDataObject
	{
		private ParameterCollection _propertyBag;
		private string _messageName;
		private Guid? _requestId;
		private ExtensionDataObject _extensionDataObject;
		[DataMember]
		public string RequestName
		{
			get
			{
				return this._messageName;
			}
			set
			{
				this._messageName = value;
			}
		}
		public object this[string parameterName]
		{
			get
			{
				return this.Parameters[parameterName];
			}
			set
			{
				this.Parameters[parameterName] = value;
			}
		}
		[DataMember]
		public ParameterCollection Parameters
		{
			get
			{
				if (this._propertyBag == null)
				{
					this._propertyBag = new ParameterCollection();
				}
				return this._propertyBag;
			}
			set
			{
				this._propertyBag = value;
			}
		}
		[DataMember]
		public Guid? RequestId
		{
			get
			{
				return this._requestId;
			}
			set
			{
				this._requestId = value;
			}
		}
		public ExtensionDataObject ExtensionData
		{
			get
			{
				return this._extensionDataObject;
			}
			set
			{
				this._extensionDataObject = value;
			}
		}
		public OrganizationRequest()
		{
		}
		public OrganizationRequest(string requestName)
		{
			this._messageName = requestName;
		}
	}
}
